import type { NitroFetchRequest, NitroFetchOptions } from 'nitropack'
import * as Type from './index.d'

export const SysUserManagement = {

    // 根据编码查询用户信息
    userCode: async (param?: Type.QueryTypeuserCode, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListUserResponse>('/sys/userManagement/userCode', {
      method: 'post',
      params: {userCodes: param?.userCodes,},
      ...opt,
    }),

    // 编辑用户信息
    updateUser: async (param?: Type.UserUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/userManagement/updateUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 修改密码
    updatePassword: async (param?: Type.UserPwdRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/userManagement/updatePassword', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取用户列表
    getUserList: async (param?: Type.UserQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageUserResponse>('/sys/userManagement/getUserList', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 组织成员列表
    getOrgMemberList: async (param?: Type.UserQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageUserResponse>('/sys/userManagement/getOrgMemberList', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 导出用户
    exportUser: async (param?: Type.UserQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<any>('/sys/userManagement/exportUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 启用、禁用、解绑用户
    enableUser: async (param?: Type.UserChangeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/userManagement/enableUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除用户
    deleteUser: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/userManagement/deleteUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增用户信息
    createUser: async (param?: Type.UserActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgUserResponse>('/sys/userManagement/createUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 批量提交用户
    batchSubmitUser: async (param?: Type.UserImportRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/userManagement/batchSubmitUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 批量导入用户
    batchImportUser: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseUserUploadResponse>('/sys/userManagement/batchImportUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 批量编辑
    batchEdit: async (param?: Type.UserBatchUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/userManagement/batchEdit', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 根据用户id获取用户信息
    getUserInfoById: async (param?: Type.QueryTypegetUserInfoById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseUserResponse>('/sys/userManagement/getUserInfoById', {
      method: 'get',
      params: {userId: param?.userId,},
      ...opt,
    }),

    // 获取登录用户信息
    getLoginUserInfo: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseUserResponse>('/sys/userManagement/getLoginUserInfo', {
      method: 'get',
      ...opt,
    }),
}

export const SysTrain = {

    // 修改训练类型
    updateTrainType: async (param?: Type.ChordModelTrainType, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordModelTrainType>('/sys/train/type/updateTrainType', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除训练类型
    deleteTrainType: async (param?: Type.QueryTypedeleteTrainType, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/train/type/deleteTrainType', {
      method: 'post',
      params: {typeCode: param?.typeCode,},
      ...opt,
    }),

    // 新增训练类型
    addTrainType: async (param?: Type.ChordModelTrainType, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordModelTrainType>('/sys/train/type/addTrainType', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 训练类型列表
    trainTypeList: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordModelTrainType>('/sys/train/type/trainTypeList', {
      method: 'get',
      ...opt,
    }),
}

export const SysTeam = {

    // 修改小组
    updateTeam: async (param?: Type.ChordOrgTeam, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgTeam>('/sys/team/updateTeam', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除小组
    deleteTeam: async (param?: Type.QueryTypedeleteTeam, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/team/deleteTeam', {
      method: 'post',
      params: {teamCode: param?.teamCode,},
      ...opt,
    }),

    // 新增群组
    addTeam: async (param?: Type.ChordOrgTeam, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgTeam>('/sys/team/addTeam', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 小组列表
    teamList: async (param?: Type.QueryTypeteamList, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordOrgTeam>('/sys/team/teamList', {
      method: 'get',
      params: {teamGroup: param?.teamGroup,},
      ...opt,
    }),
}

export const SysTaskDrill = {

    // 任务训练分页
    taskPage: async (param?: Type.TaskDrillRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordTaskDrill>('/sys/taskDrill/taskPage', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 训练任务查询
    taskDrill: async (param?: Type.QueryTypetaskDrill, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordTaskDrill>('/sys/taskDrill/taskDrill', {
      method: 'post',
      params: {drillCode: param?.drillCode,},
      ...opt,
    }),
}

export const SysSys = {

    // 根据用户信息获取系统列表
    userSys: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordSysResponse>('/sys/sys/userSysList', {
      method: 'post',
      ...opt,
    }),

    // 编辑系统信息
    updateSys: async (param?: Type.SysUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordSysResponse>('/sys/sys/updateSys', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 修改系统状态
    updateSysStatus: async (param?: Type.SysStatusUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/sys/updateSysStatus', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有系统列表
    listSys: async (param?: Type.SysQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordSysResponse>('/sys/sys/listSys', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // feign测试接口
    feignTest: async (param?: Type.ImgLabelGrpcRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseString>('/sys/sys/feignTest', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除系统
    deleteSys: async (param?: Type.SysDeletedRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/sys/deleteSys', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增系统
    addSys: async (param?: Type.SysActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordSysResponse>('/sys/sys/addSys', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取左侧系统列表
    listLeftSys: async (param?: Type.QueryTypelistLeftSys, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSysResponse>('/sys/sys/listLeftSys', {
      method: 'get',
      params: {sysName: param?.sysName,},
      ...opt,
    }),

    // 获取系统列表
    listEnabledSys: async (param?: Type.QueryTypelistEnabledSys, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSysResponse>('/sys/sys/listEnabledSys', {
      method: 'get',
      params: {sysCode: param?.sysCode,},
      ...opt,
    }),

    // 根据用户类型获取系统列表
    getSysByUserType: async (param?: Type.QueryTypegetSysByUserType, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSysResponse>('/sys/sys/getSysByUserType', {
      method: 'get',
      params: {userType: param?.userType,},
      ...opt,
    }),

    // 根据id获取系统详细信息
    getSysById: async (param?: Type.QueryTypegetSysById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordSysResponse>('/sys/sys/getSysById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysStyle = {

    // 修改风格
    updateStyle: async (param?: Type.StyleUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/style/updateStyle', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 分页查询风格
    page: async (param?: Type.StyleQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageStyleTreeResponse>('/sys/style/pageStyle', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除风格
    deleteStyle: async (param?: Type.QueryTypedeleteStyle, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/style/deleteStyle', {
      method: 'post',
      params: {id: param?.id,},
      ...opt,
    }),

    // 批量删除风格
    batchDeleteStyle: async (param?: Type.CommonEnableRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/style/batchDeleteStyle', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增风格
    addStyle: async (param?: Type.StyleRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/style/addStyle', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取风格树结构下拉列表
    listStyleTree: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListStyleTreeResponse>('/sys/style/listStyleTree', {
      method: 'get',
      ...opt,
    }),

    // 获取风格树结构
    getStyleTree: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListStyleTreeResponse>('/sys/style/getStyleTree', {
      method: 'get',
      ...opt,
    }),

    // 根据id获取风格详情
    getStyleById: async (param?: Type.QueryTypegetStyleById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordStyleResponse>('/sys/style/getStyleById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysSpaceStyle = {

    // 导入绑定风格图片，支持多张，并为每张图片添加描述词
    uploadStyleImages: async (param?: Type.StyleImageUploadRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListString>('/sys/spaceStyle/uploadStyleImages', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 上传随机图片
    uploadRandomImage: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListString>('/sys/spaceStyle/uploadRandom', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 修改风格
    updateStyle_1: async (param?: Type.StyleUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/updateStyle', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 分页查询空间风格配置
    page_1: async (param?: Type.SpaceStyleQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePagePageSpaceStyleResponse>('/sys/spaceStyle/pageSpaceStyle', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 生图参数分页查询（改名生图参数）
    pageBuildImg: async (param?: Type.ImgParmQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageBuildImgParmResponse>('/sys/spaceStyle/pageBuildImg', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取对应空间的带勾选框风格配置树
    getCheckedSpaceStyleTree: async (param?: Type.SpaceStyleTreeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageSpaceStyleTreeResponse>('/sys/spaceStyle/getCheckedSpaceStyleTree', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 编辑生图参数
    editBuildImgParm: async (param?: Type.BuildImgParmUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/editBuildImgParm', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除关联配置
    deleteConfig: async (param?: Type.QueryTypedeleteConfig, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/deleteConfig', {
      method: 'post',
      params: {id: param?.id,},
      ...opt,
    }),

    // 配置风格
    configStyle: async (param?: Type.SpaceStyleRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/config', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 启用/停用风格
    changeStatus: async (param?: Type.QueryTypechangeStatus, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/changeStatus', {
      method: 'post',
      params: {id: param?.id,status: param?.status,},
      ...opt,
    }),

    // 取消勾选
    cancelChecked: async (param?: Type.CancelCheckedRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/cancelChecked', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 批量设置会员
    batchSetVip: async (param?: Type.QueryTypebatchSetVip | Type.CommonEnableRequest | any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/batchSetVip', {
      method: 'post',
      params: {vipStatus: param?.vipStatus,},
      body: param,
      ...opt,
    }),

    // 批量删除关联配置
    batchDeleteConfig: async (param?: Type.CommonEnableRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/batchDeleteConfig', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 批量启用/停用风格
    batchChangeStatus: async (param?: Type.QueryTypebatchChangeStatus | Type.CommonEnableRequest | any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/spaceStyle/batchChangeStatus', {
      method: 'post',
      params: {status: param?.status,},
      body: param,
      ...opt,
    }),

    // 获取风格详情
    getStyleById_1: async (param?: Type.QueryTypegetStyleById_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordStyleResponse>('/sys/spaceStyle/getStyleById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),

    // 获取空间风格配置树（前台界面用）
    getSpaceStyleTree: async (param?: Type.QueryTypegetSpaceStyleTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSpaceStyleResponse>('/sys/spaceStyle/getSpaceStyleTree', {
      method: 'get',
      params: {spaceCode: param?.spaceCode,},
      ...opt,
    }),

    // 获取空间风格配置树（前台界面用）
    getSpaceStyleMoreTree: async (param?: Type.QueryTypegetSpaceStyleMoreTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSpaceStyleSingleTreeResponse>('/sys/spaceStyle/getSpaceStyleMoreTree', {
      method: 'get',
      params: {spaceCode: param?.spaceCode,},
      ...opt,
    }),

    // 获取空间风格配置树（后台管理界面用）
    getSpaceStyleConfigTree: async (param?: Type.QueryTypegetSpaceStyleConfigTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSpaceStyleResponse>('/sys/spaceStyle/getSpaceStyleConfigTree', {
      method: 'get',
      params: {spaceCode: param?.spaceCode,},
      ...opt,
    }),

    // 根据是否选择空间和风格随机返回图片及关联信息
    getImageUrlsByTraceId: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseRandomImageResponse>('/sys/spaceStyle/getRandomImg', {
      method: 'get',
      ...opt,
    }),

    // 生图参数查看详情
    getBuildImgParmDetail: async (param?: Type.QueryTypegetBuildImgParmDetail, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordSpaceStyleResponse>('/sys/spaceStyle/getBuildImgParmDetail', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysSpace = {

    // 修改空间
    updateSpace: async (param?: Type.SpaceUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/space/updateSpace', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有空间(空间名称 空间编码模糊查询)
    listAllSpace: async (param?: Type.QueryTypelistAllSpace, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordSpaceResponse>('/sys/space/listAllSpace', {
      method: 'post',
      params: {keyword: param?.keyword,},
      ...opt,
    }),

    // 新建一级空间类型
    createSpaceTree: async (param?: Type.SpaceTreeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/space/createSpaceTree', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 批量设置会员
    batchSetVip_1: async (param?: Type.QueryTypebatchSetVip_1 | Type.CommonEnableRequest | any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/space/batchVip', {
      method: 'post',
      params: {vipStatus: param?.vipStatus,},
      body: param,
      ...opt,
    }),

    // 新增空间
    save: async (param?: Type.SpaceRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/space/addSpace', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取空间树结构(可以空间名称 空间编码模糊查询)
    getSpaceTree: async (param?: Type.QueryTypegetSpaceTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSpaceTreeResponse>('/sys/space/tree', {
      method: 'get',
      params: {keyword: param?.keyword,},
      ...opt,
    }),

    // 获取空间树结构下拉列表
    listSpaceTree: async (param?: Type.QueryTypelistSpaceTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSpaceTreeResponse>('/sys/space/listSpaceTree', {
      method: 'get',
      params: {keyword: param?.keyword,},
      ...opt,
    }),

    // 获取一级空间类型
    getSpaceType: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListSpaceResponse>('/sys/space/getSpaceType', {
      method: 'get',
      ...opt,
    }),

    // 根据id获取空间详情
    getSpaceById: async (param?: Type.QueryTypegetSpaceById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordSpaceResponse>('/sys/space/getSpaceById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),

    // 删除空间
    remove: async (param?: Type.QueryTyperemove, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/space/deleteSpace', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysRoleManage = {

    // 编辑角色
    updateRole: async (param?: Type.RoleUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/roleManage/updateRole', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有角色列表（角色管理页面展示所有角色）
    listAllRole: async (param?: Type.RoleQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordOrgRoleResponse>('/sys/roleManage/listAllRole', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 查看成员
    getUserListByRoleCode: async (param?: Type.RoleUserRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageRoleUserResponse>('/sys/roleManage/getUserListByRoleCode', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 是否启用角色
    enableRole: async (param?: Type.RoleStatusRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/roleManage/enableRole', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除角色
    deleteRole: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/roleManage/deleteRole', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 移除角色下关联的用户
    deleteRoleUser: async (param?: Type.RoleUserDelRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/roleManage/deleteRoleUser', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增角色
    addRole: async (param?: Type.RoleActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgRoleResponse>('/sys/roleManage/addOrEditRole', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取用户的角色编码列表
    listUserRole: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListRoleResponse>('/sys/roleManage/listUserRole', {
      method: 'get',
      ...opt,
    }),

    // 获取启用的角色编码列表（后台管理平台下拉列表用）
    listEnableRole: async (param?: Type.QueryTypelistEnableRole, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListRoleResponse>('/sys/roleManage/listEnableRole', {
      method: 'get',
      params: {keyword: param?.keyword,orgCode: param?.orgCode,},
      ...opt,
    }),

    // 获取角色详情
    getRoleDetail: async (param?: Type.QueryTypegetRoleDetail, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgRoleResponse>('/sys/roleManage/getRoleDetailById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysRedraw = {

    // 重绘编辑记录分页
    list: async (param?: Type.EditRecordPageRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordEditRecord>('/sys/redraw/record/page', {
      method: 'post',
      body: param,
      ...opt,
    }),
}

export const SysPlanmanage = {

    // 生图信息-设置封面
    setBuildImgToCover: async (param?: Type.PlanSetCoverRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/planmanage/setBuildImgToCover', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型训练-方案视图
    planModelViewPage: async (param?: Type.PlanModelViewPageRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanPageViewResponse>('/sys/planmanage/planModelViewPage', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型训练-组织视图
    planModelViewByGroup: async (param?: Type.PlanViewByAccountRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanPageViewResponse>('/sys/planmanage/planModelViewByGroup', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型训练-账号视图
    planModelViewByAccount: async (param?: Type.PlanViewByAccountRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanPageViewResponse>('/sys/planmanage/planModelViewByAccount', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型训练-模型详情-图片详情
    planModelPicInfo: async (param?: Type.PlanModelDetailsRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListPlanModelPicResponse>('/sys/planmanage/planModelPicInfo', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型训练-模型详情
    planModelDetails: async (param?: Type.PlanModelDetailsRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanModelDetailsResponse>('/sys/planmanage/planModelDetails', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 方案视图
    getPlanView: async (param?: Type.PlanViewQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanPageViewResponse>('/sys/planmanage/getPlanView', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 组织视图
    getPlanViewByGroup: async (param?: Type.PlanViewByAccountRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanPageViewResponse>('/sys/planmanage/getPlanViewByGroup', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 账号视图
    getPlanViewByAccount: async (param?: Type.PlanViewByAccountRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanPageViewResponse>('/sys/planmanage/getPlanViewByAccount', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 方案视图-导出
    exportPlanView: async (param?: Type.PlanViewQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<any>('/sys/planmanage/exportPlanView', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型训练-方案视图-导出
    exportPlanModelView: async (param?: Type.PlanModelViewPageRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<any>('/sys/planmanage/exportPlanModelView', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 生图信息
    buildInfoByCode: async (param?: Type.PlanDetailsBySmartRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePlanInfoBySmartResponse>('/sys/planmanage/buildInfoByCode', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取组织列表
    getLeftGroupList: async (param?: Type.QueryTypegetLeftGroupList, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseGroupListResponse>('/sys/planmanage/getLeftGroupList', {
      method: 'get',
      params: {groupName: param?.groupName,},
      ...opt,
    }),
}

export const SysOss = {

    // 对象存储上传文件接口
    uploadFile: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseString>('/sys/oss/upload', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 对象存储上传文件接口，可指定不同的业务类型选择存储路径
    uploadFileToType: async (param?: Type.QueryTypeuploadFileToType, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordImg>('/sys/oss/upload/type', {
      method: 'post',
      params: {pathType: param?.pathType,},
      body: param,
      ...opt,
    }),

    // 对象存储上传文件路径名获取
    uploadFileToType_1: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMinioFilePathEnumResponse>('/sys/oss/getPathType', {
      method: 'post',
      ...opt,
    }),
}

export const SysOrgManage = {

    // 编辑组织信息
    updateOrg: async (param?: Type.OrgUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgResponse>('/sys/orgManage/updateOrg', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取组织列表
    getOrgList: async (param?: Type.OrgQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordOrgResponse>('/sys/orgManage/getOrgList', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 启用组织
    enableOrg: async (param?: Type.BatchEnableRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/orgManage/enableOrg', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除组织
    deleteOrg: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/orgManage/deleteOrg', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增组织信息
    addOrg: async (param?: Type.OrgActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgResponse>('/sys/orgManage/addOrg', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取启用的组织编码列表（后台管理平台的下拉列表可用）
    listEnableOrg: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListOrgResponseKey>('/sys/orgManage/listEnableOrg', {
      method: 'get',
      ...opt,
    }),

    // 根据id获取组织信息
    getOrgById: async (param?: Type.QueryTypegetOrgById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgResponse>('/sys/orgManage/getOrgById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),

    // 左侧获取组织
    getLeftOrgList: async (param?: Type.QueryTypegetLeftOrgList, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListOrgResponseKey>('/sys/orgManage/getLeftOrgList', {
      method: 'get',
      params: {orgName: param?.orgName,},
      ...opt,
    }),
}

export const SysModelManage = {

    // 用户模型（老师）
    userModel: async (param?: Type.ModelManageRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageUserModelResponse>('/sys/modelManage/userModel', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 用户模型（超管）
    userModelAdm: async (param?: Type.ModelManageRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageUserModelResponse>('/sys/modelManage/userModelAdm', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 更新模型权重规则
    update: async (param?: Type.ChordModelWeight, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordModelWeight>('/sys/modelManage/update', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 训练记录分页查询
    trainRecord: async (param?: Type.TrainRecordRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordRecordTrain>('/sys/modelManage/trainRecord', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型库
    repository: async (param?: Type.OfficalModelPageRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageOfficalModelPageResponse>('/sys/modelManage/repository', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 查询模型链接
    modelUrl: async (param?: Type.ModelCodeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseModelUrlResponse>('/sys/modelManage/modelUrl', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型类型
    modelType: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListModeTypeDto>('/sys/modelManage/modelType', {
      method: 'post',
      ...opt,
    }),

    // 模型空间树
    modelSpace: async (param?: Type.ModelCodeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseSpaceTreeResponse>('/sys/modelManage/modelSpace', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型来源
    modelSource: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListModelSourceDto>('/sys/modelManage/modelSource', {
      method: 'post',
      ...opt,
    }),

    // 模型绑定信息
    modelBind: async (param?: Type.ModelBindRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListModelBindResponse>('/sys/modelManage/modelBind', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 查看模型权重规则
    info: async (param?: Type.QueryTypeinfo, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordModelWeight>('/sys/modelManage/info', {
      method: 'post',
      params: {id: param?.id,},
      ...opt,
    }),

    // 下载模型图片
    downloadImage: async (param?: Type.ModelCodeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<any>('/sys/modelManage/downloadImage', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 用户训练模型删除
    deleteModel: async (param?: Type.UserModelDelete, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/modelManage/deleteModel', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增模型权重规则
    add: async (param?: Type.ChordModelWeight, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordModelWeight>('/sys/modelManage/add', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 模型权重规则分页
    page_2: async (param?: Type.QueryTypepage_2, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordModelWeight>('/sys/modelManage/page', {
      method: 'get',
      params: {page: param?.page,},
      ...opt,
    }),

    // 删除模型权重规则
    getMenuInfoByCode: async (param?: Type.QueryTypegetMenuInfoByCode, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/modelManage/delete', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysMessage = {

    // 业务信息跳转类别
    linkJumpType: async (param?: Type.QueryTypelinkJumpType, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseLinkJumpResp>('/sys/message/linkJumpType', {
      method: 'post',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysMenu = {

    // 编辑菜单
    updateMenu: async (param?: Type.MenuUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordMenuResponse>('/sys/menu/updateMenu', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取系统菜单树
    getMenuTreeBySys: async (param?: Type.MenuTreeBySysRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMenuResponse>('/sys/menu/getMenuTreeBySys', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有菜单（非树形结构，获取所有未被删除的菜单）
    getAllMenu: async (param?: Type.MenuQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordMenuResponse>('/sys/menu/getAllMenu', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 启用/禁用菜单
    enableMenu: async (param?: Type.MenuStatusRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/menu/enableMenu', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除菜单
    deleteMenu: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/menu/deleteMenu', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增菜单
    addMenu: async (param?: Type.MenuActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordMenuResponse>('/sys/menu/addMenu', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取用户可访问菜单
    getUserMenu: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMenuTreeResponse>('/sys/menu/getUserMenu', {
      method: 'get',
      ...opt,
    }),

    // 获取用户可访问权限树
    getUserAuthTree: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMenuResponse>('/sys/menu/getUserAuthTree', {
      method: 'get',
      ...opt,
    }),

    // 获取启用的菜单树（角色管理新增角色时，给配置权限时用，需传sysCodes）
    getMenuTree: async (param?: Type.QueryTypegetMenuTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMenuResponse>('/sys/menu/getMenuTree', {
      method: 'get',
      params: {sysCodes: param?.sysCodes,},
      ...opt,
    }),

    // 获取某个菜单的详细信息
    getMenuInfoByCode_1: async (param?: Type.QueryTypegetMenuInfoByCode_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordMenuResponse>('/sys/menu/getMenuInfoByCode', {
      method: 'get',
      params: {menuCoe: param?.menuCoe,menuType: param?.menuType,},
      ...opt,
    }),

    // 获取启用的菜单树（角色管理展示勾选权限时用，需传roleCode）
    getMenuCheckedTree: async (param?: Type.QueryTypegetMenuCheckedTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMenuResponse>('/sys/menu/getMenuCheckedTree', {
      method: 'get',
      params: {roleCode: param?.roleCode,},
      ...opt,
    }),

    // 获取某个系统所有的菜单树（用于菜单管理页面，展示所有除了被删除的菜单树）
    getAllMenuTree: async (param?: Type.QueryTypegetAllMenuTree, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListMenuNodeResponse>('/sys/menu/getAllMenuTree', {
      method: 'get',
      params: {sysCode: param?.sysCode,},
      ...opt,
    }),
}

export const SysMaterial = {

    // 更新材质
    updateMaterial: async (param?: Type.材质信息, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordMaterial>('/sys/material/updateMaterial', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取材质列表分页
    pageMaterial: async (param?: Type.材质信息分页参数, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePage材质信息>('/sys/material/pageMaterial', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除材质信息
    deleteMaterial: async (param?: Type.MaterialDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/material/deleteMaterial', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 硬装替换材质
    deleteMaterial_1: async (param?: Type.HdMaterialRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePage材质信息>('/sys/material/custHadrDecorationQuery', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增材质
    addMaterial: async (param?: Type.材质信息, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordMaterial>('/sys/material/addMaterial', {
      method: 'post',
      body: param,
      ...opt,
    }),
}

export const SysLabel = {

    // 修改标签
    updateLabel: async (param?: Type.ChordLabel, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordLabel>('/sys/label/updateLabel', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 标签列表分页
    labelPage: async (param?: Type.ChordLabelRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordLabel>('/sys/label/labelPage', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除标签
    deleteLabel: async (param?: Type.QueryTypedeleteLabel, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/label/deleteLabel', {
      method: 'post',
      params: {labelCode: param?.labelCode,},
      ...opt,
    }),

    // 新增标签
    addLabel: async (param?: Type.ChordLabel, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordLabel>('/sys/label/addLabel', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 标签列表
    teamList_1: async (param?: Type.QueryTypeteamList_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordLabel>('/sys/label/labelList', {
      method: 'get',
      params: {keyWord: param?.keyWord,},
      ...opt,
    }),

    // 获取所有的标签树（展示所有除了被删除的标签树）
    getAllMenuTree_1: async (param?: Type.QueryTypegetAllMenuTree_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListLabelTreeResponse>('/sys/label/getAllMenuTree', {
      method: 'get',
      params: {labelCode: param?.labelCode,},
      ...opt,
    }),
}

export const SysImg = {

    // 修改图片
    updateLabel_1: async (param?: Type.ChordImg, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordImg>('/sys/img/updateImg', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 图片列表分页
    labelPage_1: async (param?: Type.ChordImgRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordImg>('/sys/img/imgPage', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 图片列表
    imgList: async (param?: Type.ChordImgRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordImg>('/sys/img/imgList', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 图片列表
    imgListByCodes: async (param?: Type.QueryTypeimgListByCodes, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordImg>('/sys/img/imgListByCodes', {
      method: 'post',
      params: {imageCodes: param?.imageCodes,},
      ...opt,
    }),

    // 删除图片
    deleteLabel_1: async (param?: Type.QueryTypedeleteLabel_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/img/deleteImg', {
      method: 'post',
      params: {imgCodes: param?.imgCodes,},
      ...opt,
    }),

    // 新增图片
    addImg: async (param?: Type.ChordImg, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordImg>('/sys/img/addImg', {
      method: 'post',
      body: param,
      ...opt,
    }),
}

export const SysGroupDetail = {

    // 修改小组成员信息
    updateGroupDetail: async (param?: Type.ChordGroupDetail[], opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseString>('/sys/groupDetail/updateGroupDetail', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 群组成员列表
    groupTeamDetails: async (param?: Type.GroupDetailUserRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListGroupDetailUserResponse>('/sys/groupDetail/groupTeamDetails', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 群组成员分页（后台）
    groupTeamDetailsPage: async (param?: Type.GroupDetailUserRequestPage, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageGroupDetailUserResponse>('/sys/groupDetail/groupTeamDetailsPage', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 导出群组成员
    exportGroupMember: async (param?: Type.GroupDetailUserExportRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<any>('/sys/groupDetail/exportGroupMember', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除群组成员/小组成员
    deleteGroupDetail: async (param?: Type.DeleteGroupDetailParam[], opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/groupDetail/deleteGroupDetail', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 老师校验
    assistant: async (param?: Type.UserCodeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/groupDetail/assistant', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 助教人数校验
    assistantCnt: async (param?: Type.GroupCodeRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseAssistantCntResponse>('/sys/groupDetail/assistantCnt', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增群组成员/小组成员
    addGroupDetail: async (param?: Type.ChordGroupDetail[], opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/groupDetail/addGroupDetail', {
      method: 'post',
      body: param,
      ...opt,
    }),
}

export const SysGroup = {

    // 批量更新群组状态
    updateStatusBatch: async (param?: Type.UpdateGroupStatusReq, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/group/updateStatusBatch', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 编辑群组息
    updateGroup: async (param?: Type.ChordOrgGroup, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgGroup>('/sys/group/updateGroup', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 群组列表分页
    listGroup: async (param?: Type.GroupQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageGroupInfoDto>('/sys/group/pageGroup', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 群组详情
    groupInfo: async (param?: Type.QueryTypegroupInfo, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseGroupInfoDto>('/sys/group/groupInfo', {
      method: 'post',
      params: {groupCode: param?.groupCode,},
      ...opt,
    }),

    // 删除群组
    deleteSys_1: async (param?: Type.QueryTypedeleteSys_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/group/deleteGroup', {
      method: 'post',
      params: {groupCodes: param?.groupCodes,},
      ...opt,
    }),

    // 新增群组
    addGroup: async (param?: Type.ChordOrgGroup, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgGroup>('/sys/group/addGroup', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取当前登录人所拥有的群组列表
    userGroup: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordOrgGroup>('/sys/group/userGroupList', {
      method: 'get',
      ...opt,
    }),

    // 获取群组列表
    listEnabledGroup: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordOrgGroup>('/sys/group/listGroup', {
      method: 'get',
      ...opt,
    }),

    // 获取租户下老师列表
    groupLeftTchList: async (param?: Type.QueryTypegroupLeftTchList, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListGroupTchResponse>('/sys/group/groupLeftTchList', {
      method: 'get',
      params: {userName: param?.userName,},
      ...opt,
    }),
}

export const SysFiletemplate = {

    // 上传文件接口
    uploadFile_1: async (param?: Type.QueryTypeuploadFile_1, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseString>('/sys/filetemplate/upload', {
      method: 'post',
      params: {sysCode: param?.sysCode,fileCode: param?.fileCode,},
      body: param,
      ...opt,
    }),

    // 新增文件模板
    addFileTemplate: async (param?: Type.FileTemplateActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/filetemplate/addFileTemplate', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取文件模板下载地址
    getFilePathByFileCode: async (param?: Type.QueryTypegetFilePathByFileCode, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseString>('/sys/filetemplate/getFilePathByFileCode', {
      method: 'get',
      params: {fileCode: param?.fileCode,},
      ...opt,
    }),
}

export const SysEvent = {

    // 编辑事件
    updateEvent: async (param?: Type.EventActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordEventResponse>('/sys/event/updateEvent', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除事件
    deleteEvent: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/event/deleteEvent', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增事件
    addEvent: async (param?: Type.EventActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordEventResponse>('/sys/event/addEvent', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取用户权限内事件（前端渲染页面事件时使用）
    getUserEvent: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListString>('/sys/event/getUserEvent', {
      method: 'get',
      ...opt,
    }),

    // 根据菜单获取事件列表
    getEventList: async (param?: Type.QueryTypegetEventList, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordEventResponse>('/sys/event/getEventList', {
      method: 'get',
      params: {menuCode: param?.menuCode,},
      ...opt,
    }),
}

export const SysDict = {

    // 编辑字典
    updateDict: async (param?: Type.DictUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordDictResponse>('/sys/dict/updateDict', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 编辑类目
    updateCtgy: async (param?: Type.CategoryUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordCategoryResponse>('/sys/dict/updateCtgy', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取字典
    listDict: async (param?: Type.DictQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordDictResponse>('/sys/dict/listDict', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有类目
    listAllCategory: async (param?: Type.CategoryQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordCategoryResponse>('/sys/dict/listAllCategory', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除字典
    deleteDict: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/dict/deleteDict', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除类目
    deleteCtgy: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/dict/deleteCtgy', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 清除字典缓存
    clearDictCache: async (param?: Type.DictCacheRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/dict/clearDictCache', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增字典
    addDict: async (param?: Type.DictActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordDictResponse>('/sys/dict/addDict', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增类目
    addCategory: async (param?: Type.CategoryActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordCategoryResponse>('/sys/dict/addCategory', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 根据类目获取所有字典
    listDictByCategory: async (param?: Type.QueryTypelistDictByCategory, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListDictResponseKey>('/sys/dict/listDictByCategory', {
      method: 'get',
      params: {ctgyCode: param?.ctgyCode,},
      ...opt,
    }),

    // 获取字典名称
    getDictName: async (param?: Type.QueryTypegetDictName, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseString>('/sys/dict/getDictName', {
      method: 'get',
      params: {ctgyCode: param?.ctgyCode,dictCode: param?.dictCode,},
      ...opt,
    }),

    // 获取所有字典
    getAllDict: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseMapStringListChordDictResponse>('/sys/dict/getAllDict', {
      method: 'get',
      ...opt,
    }),

    // 启用字典
    enableDict: async (param?: Type.QueryTypeenableDict, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/dict/enableDict', {
      method: 'get',
      params: {id: param?.id,enable: param?.enable,},
      ...opt,
    }),

    // 启用类目
    enableCtgy: async (param?: Type.QueryTypeenableCtgy, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/dict/enableCtgy', {
      method: 'get',
      params: {id: param?.id,enable: param?.enable,},
      ...opt,
    }),
}

export const SysDesc = {

    // 编辑描述词
    updateDesc: async (param?: Type.DescUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordDescResponse>('/sys/desc/updateDesc', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 导入描述词
    importDesc: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseImportResponse>('/sys/desc/importDesc', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有描述词
    getAllDesc: async (param?: Type.DescQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordDescResponse>('/sys/desc/getAllDesc', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除描述词（可批量删除）
    deleteDesc: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/desc/deleteDesc', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增描述词
    addDesc: async (param?: Type.DescActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordDescResponse>('/sys/desc/addDesc', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 随机获取一组描述词
    getRandomDesc: async (param?: Type.QueryTypegetRandomDesc, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordRandomDescResponse>('/sys/desc/getRandomDesc', {
      method: 'get',
      params: {spaceCode: param?.spaceCode,styleCode: param?.styleCode,},
      ...opt,
    }),
}

export const SysAuth = {

    // 编辑权限
    updateAuth: async (param?: Type.AuthUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseLong>('/sys/auth/updateAuth', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取所有权限
    listAllAuth: async (param?: Type.AuthQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordOrgAuthResponse>('/sys/auth/listAllAuth', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 启用权限
    enableAuth: async (param?: Type.BatchEnableRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/auth/enableAuth', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除权限
    deleteAuth: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/auth/deleteAuth', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增权限
    addAuth: async (param?: Type.AuthActionRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseLong>('/sys/auth/addAuth', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取启用的所有权限
    listEnabledAuth: async (param?: Type.QueryTypelistEnabledAuth, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListAuthResponse>('/sys/auth/listEnabledAuth', {
      method: 'get',
      params: {keyword: param?.keyword,},
      ...opt,
    }),

    // 获取所有API
    listAllApi: async (param?: Type.QueryTypelistAllApi, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListChordApiResponse>('/sys/auth/listAllApi', {
      method: 'get',
      params: {keyword: param?.keyword,},
      ...opt,
    }),

    // 获取用户的所有权限
    hasAuth: async (param?: any, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.Response>('/sys/auth/hasAuth', {
      method: 'get',
      ...opt,
    }),

    // 根据id获取权限详情
    getAuthDetailById: async (param?: Type.QueryTypegetAuthDetailById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseChordOrgAuthResponse>('/sys/auth/getAuthDetailById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),
}

export const SysAccountManagement = {

    // 编辑账号信息
    updateAccount: async (param?: Type.AccountUpdateRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseAccountResponse>('/sys/accountManagement/updateAccount', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取账号列表
    getAccountList: async (param?: Type.AccountQueryRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageChordOrgAccountResponse>('/sys/accountManagement/getAccountList', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 根据组织获取账号列表
    getAccountListByOrgCode: async (param?: Type.OrgAccountRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponsePageOrgAccountResponse>('/sys/accountManagement/getAccountListByOrgCode', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 删除账号（可批量删除）
    deleteAccount: async (param?: Type.CommonDeleteRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/accountManagement/deleteAccount', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 新增账号信息
    addAccount: async (param?: Type.AccountRequest, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseAccountResponse>('/sys/accountManagement/addAccount', {
      method: 'post',
      body: param,
      ...opt,
    }),

    // 获取启用的账号列表
    listEnableAccount: async (param?: Type.QueryTypelistEnableAccount, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseListAccountResponse>('/sys/accountManagement/listEnableAccount', {
      method: 'get',
      params: {keyword: param?.keyword,orgCode: param?.orgCode,},
      ...opt,
    }),

    // 根据id获取账号信息
    getAccountById: async (param?: Type.QueryTypegetAccountById, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseAccountResponse>('/sys/accountManagement/getAccountById', {
      method: 'get',
      params: {id: param?.id,},
      ...opt,
    }),

    // 启用账号
    enableAccount: async (param?: Type.QueryTypeenableAccount, opt?: NitroFetchOptions<NitroFetchRequest>) => await $useMyRequest<Type.ResponseBoolean>('/sys/accountManagement/enableOrg', {
      method: 'get',
      params: {id: param?.id,enable: param?.enable,},
      ...opt,
    }),
}

